/*
 * DTOAsteroide.h
 *
 *  Created on: Apr 1, 2012
 *      Author: gonzalo
 */

#ifndef DTOASTEROIDE_H_
#define DTOASTEROIDE_H_

#include "DTO.h"
#include "DTOTipoAsteroide.h"


enum actionToTake{UPDATE,ELSE};

class DTOAsteroide: public DTO {
public:
	/*
	 * bool slimDTOVersion = Para no pasar la imagen del tipo asteroide.
	 */
	DTOAsteroide(int Id, int nivel,DTOTipoAsteroide* tipo,int x,int y,int direccion,int velocidad, bool drawable, std::string owner = SERVER_OWN,bool slimDTOVersion = false);
	DTOAsteroide(std::string& aDeserealizar, std::string owner);

	int Id;
    DTOTipoAsteroide *tipo;
    int x;
    int y;
    int direccion;
    int velocidad;
    int nivel;
    bool drawable;
    actionToTake actionRequired;

    //Manejo de tipo de serializacion
    bool slimDTOVersion;

	virtual std::string serializar();
	bool getDrawable();
protected:

	virtual void deserializar(std::string& string ,std::string owner);
};

#endif /* DTOASTEROIDE_H_ */
